The present invention relates to management of virtual machines (VMs), and more specifically, to a method for balancing virtual machine loads between hardware platforms.
Providers of cloud computing have the competing tasks of providing desired performance for consumers or end users while also efficiently allocating the resources used to provide services to consumers. The resources may be dynamically allocated by the provider to help achieve these goals. Accordingly, a hardware platform may host a plurality of virtual machines, wherein each virtual machine corresponds to a consumer. Efficient use of the hardware platform resources dictates that the provider place as many virtual machines on the platform as possible without compromising the consumer's use of the virtual machine and experience. It may be desirable to move or migrate a virtual machine from one hardware platform to another to ensure that the customer is not adversely affected by changes in resource availability for the virtual machines.